/*实现一个日志消息类*/
#pragma once
#include <string>
#include <thread>
#include "loglevel.hpp"
#include "util.hpp"
using std::string;
using std::thread;

namespace mylog
{
    class LogMsg // 实现一个日志消息类
    {
    public:
        time_t _time;           // 当前时间
        size_t _line;           // 行号
        thread::id _tid;        // 线程ID
        string _name;           // 日志器名称
        string _file;           // 文件名
        LogLevel::Level _level; // 日志等级
        string _message;        // 日志消息
    public:
        LogMsg() {} // 日志消息类空的构造函数
        LogMsg(size_t line, string name, string file, LogLevel::Level level, string message) : _time(util::Time::GetTime()),
                                                                                               _line(line),
                                                                                               _tid(std::this_thread::get_id()),
                                                                                               _name(name),
                                                                                               _file(file),
                                                                                               _level(level),
                                                                                               _message(message)
        {
        }
    };
}